<?php
header("Content-type:text/html;charset=utf-8");
//简单的在线文件管理
$path = $_GET['ddd'];
$filelist = array("file1.php");
//要过滤掉的文件
//一、根据action的信息值，做对应操作
switch ($_GET['action']) {
    case "del":
        //删除一个文件
        unlink($_GET["filename"]);
        break;
    case "create":
        //创建一个文件
        //1.获取要创建的文件名
        $filename = trim($path, "/") . "/" . $_POST["filename"];
        //2. 判断文件是否已存在
        if (file_exists($filename)) {
            die("要创建的文件已存在！");
        }
        //3. 创建这个文件
        $f = fopen($filename, "w");
        fclose($f);
        break;
    case 'edit':
        //编辑文件信息
        //1. 获取文件名
        $filename = $_GET["filename"];
        //2.读取文件的内容：
        $fileinfo = file_get_contents($filename);
        break;
    case 'update':
        //执行修改文件信息
        //获取信息：文件名，内容
        $filename = $_POST["filename"];
        $content = $_POST["content"];
        //2. 执行文件内容修改
        file_put_contents($filename, $content);
        break;
}
//二、浏览指定目录下的文件，并使用表格输出
//1. path目录信息的过滤，判断path存在，并期是否是个目录
if (!file_exists($path) || !is_dir($path)) {
    die($path . "目录无效！请输入参数");
}
//2. 输出表头信息
echo "<h3>{$path}目录下的文件信息<h3>";
echo "<h4><a href='file1.php?ddd={$path}&action=add'>创建文件</a></h4>";
echo "<table width='600' border='0'>";
echo "<tr bgcolor='#cccccc' align='left'>";
echo "<th>序号</th><th>名称</th><th>类型</th><th>大小</th><th>创建时间</th><th>操作</th>";
echo "</tr>";
//3.打开这个目录，并遍历目录下面的所有文件
$dir = opendir($path);
if ($dir) {
    $i = 0;
    //遍历目录中的文件,并输出文件的信息
    while ($f = readdir($dir)) {
        if ($f == "." || $f == ".." || in_array($f, $filelist)) {
            continue;
            //跳出本次循环，继续下一次遍历。
        }
        $file = trim($path, "/") . "/" . $f;
        $i++;
        echo "<tr>";
        echo "<td>{$i}</td>";
        echo "<td>{$f}</td>";
        echo "<td>" . filetype($file) . "</td>";
        echo "<td>" . filesize($file) . "</td>";
        echo "<td>" . date("Y-m-d H:i:s", filectime($file)) . "</td>";
        echo "<td>\r\n<a href='file1.php?ddd={$path}&filename={$file}&action=del'>删除</a>   \r\n<a href='file1.php?ddd={$path}&filename={$file}&action=edit'>修改</a>\r\n </td>";
        echo "</tr>";
    }
    closedir($dir);
    //关闭目录
}
echo "<tr bgcolor='#cccccc' align='left'><td colspan='6'> </td></tr>";
echo "</table>";
//三、判断是否需要创建文件表单，若需输出创建文件的表单框。
if ($_GET['action'] == "add") {
    echo "<br/><br/><form action='file1.php?ddd={$path}&action=create' method='post'>";
    echo "新建文件：<input type='text' name='filename' size='12'/> ";
    echo "<input type='submit' value='新建文件'/>";
    echo "</form>";
}
//四、判断是否需要编辑文件表单，若需输出创建文件的表单框。
if ($_GET['action'] == "edit") {
    echo "<br/><br/><form action='file1.php?ddd={$path}&action=update' method='post'>";
    echo "<input type='hidden' name='filename' value='{$filename}'/>";
    echo "文件名：{$filename}<br/><br/>";
    echo "文件内容:<textarea name='content' cols='40' rows='6'>{$fileinfo}</textarea><br/><br/>";
    echo "<input type='submit' value='执行编辑'/>";
    echo "</form>";
}